
//根据元素ID返回元素
function getEle(id) {
    return document.getElementById(id)
}


/**
 * 功能：给定元素查找他的第一个元素子节点，并返回
 * @param ele
 * @returns {Element|*|Node}
 */
function getFirstNode(ele) {
    let node = ele.firstElementChild || ele.firstChild
    return node
}


/**
 * 功能：给定元素查找他的最后一个元素子节点，并返回
 * @param ele
 * @returns {Element|*|Node}
 */
function getLastNode(ele) {
    return ele.lastElementChild || ele.lastChild
}


/**
 * 功能：给定元素查找他的下一个元素兄弟节点，并返回
 * @param e
 * @returns {Element|*|Node}
 */
function getNextNode(e){
    return e.nextElementSibling || e.nextSibling
}


/**
 * 功能：给定元素查找他的上一个兄弟元素节点，并返回
 * @param e
 * @returns {Element|*|Node}
 */
function getPrevNode(e) {
    return e.previousElementSibling || e.previousSibling
}


/**
 * 功能：给定元素和索引值查找指定索引值的兄弟元素节点，并返回
 * @param e 元素节点
 * @param index 索引值
 * @returns {*|HTMLElement}
 */
function getEleOfIndex(e, index) {
    return e.parentNode.children[index]
}


/**
 * 功能：给定元素查找他的所有兄弟元素，并返回数组
 * @param e
 * @returns {Arrays}
 */

function getAllSiblings(e) {
    let newArr = []
    let arr = e.parentNode.children
    for (let i = 0; i < arr.length; i++) {
        //判断：对同级的所有元素节点进行遍历，如果不是传递过来的元素自身，那就是兄弟元素，于是添加到新数组中。
        if (arr[i] !== e){
            newArr.push(arr[i])
        }
    }
    return newArr
}